هادي ويسي h.veisi@ut.ac.ir دانشگاه تهران - دانشکده علوم و فنون نوين
مقدمه: تبديل تشابهيابي بازیابی اطالعات سرقت علمی متن به بردار ويژگي بردار دودویی )Binary( بردار فراوانی عبارت )TF: Term-Frequency( معکوس فراوانی سند )IDF: Inverse Document Frequency( فراوانی عبارت-معکوس فراوانی سند )TF-IDF: Term Freq-Inverse Document Freq( تحلیل معنایی پنهان )LSA: Latent Semantic Analysis( مثال معیارهاي محاسبه شباهت 2
محاسبه میزان شباهت دو متن Retrieval( )Information متنی کاربردها بازیابی اطالعات موتورهای جستجو Engines( )Search سیستم های پرسش و پاسخ Systems( )Question-Answer بازیابی اطالعات غیرمتنی Audio Retrieval Spoken document Retrieval Music Retrieval Image Retrieval تشخیص سرقت علمی Detection( )Plagiarism 3
ساختار کلي واحد نمایهگذاری )Indexing( جمعآوری اطالعات از وب و ساختار دادن به آن واحد پردازش پرسش و جستجو بررسی پرسش و مقایسه با متون نمایهگذاری شده 4
واحد )Indexing( نمايهگذاري 5
واحد پردازش پرسش و جستجو بازیابی مستندات مشابه و مرتبط با پرسش 6
رتبهبندي بر اساس شباهت استفاده از شباهت محاسبه شده برای رتبهبندی خروجیها 7
سرقت علمي در متون علمی )مقاله پایان نامه اختراع و...( کدهای کامپیوتری سیستم تشخیص سرقت 8
انواع بازنویسی مطلب توسط نویسنده متقلب بدون ارجاع تغییر برخی از کلمات برای پوشاندن ظاهری تقلب cross-language plagiarism detection مبتنی بر N-gram استفاده از سبک نگارش استفاده از مراجع برای بررسی الگوهای مشابه 9
مساله: دو متن داده شده میزان شباهت آنها چقدر است مثال: سه متن زير چقدر به هم شبیه هستند d1: ant ant bee d2: dog bee dog hog dog ant dog d3: cat gnu dog eel fox ويژگيهاي احتمالي براي محاسبه شباهت طول دو متن تعداد کلمات مشترک دو متن تعداد تکرار کلمات )مشترک( نوع کلمات: عمومی یا خاص دو متن 10
روش کیسه لغات )Bag of Words( نمایش یک متن )جمله یا سند( تنها بر اساس کلمات آن عدم توجه به ترتیب کلمات و گرامر در بازیابی اطالعات معموال این فرض به کار می رود کاربرد تشابه یابی دسته بندی مشکل: دو جمله زیر یکی هستند John is quicker than Mary Mary is quicker than John 11
تبديل متن )سند( به يک بردار»عددي«از ويژگيها گام اول: استخراج کلیه کلمات از کلیه متون مورد مطالعه در کاربردهای واقعی: یک بردار از کلمات )چندهزار بعدی( گام دوم: انتساب مقادير عددي به بردار بر اساس حضور کلمات در متن 12
بردار دودويي )Binary(... برای هر کلمه اگر آن کلمه در متن باشد مقدار یک و در غیر این صورت مقدار صفر مثال ant bee cat dog eel fox gnu hog کلمات بردار دودیی برای d 1 1 1 0 0 0 0 0 0 وزن )مقدار ) بردار دودیی برای d 2 1 1 0 1 0 0 0 1 وزن )مقدار ) 13
بردار دودويي )Binary( برای هر کلمه اگر آن کلمه در متن باشد مقدار یک و در غیر این صورت مقدار صفر مثال ماتریس وقوع Matrix( )Incidence ماتریس Term-document اگر مستند i حاوی کلمه j باشد = 1 ij w است در غیراینصورت = 0 ij w 14
يافتن تشابه بین دو متن بر اساس شباهت دو بردار وجود معیارهای مختلف معیار شباهت: فاصله کسینوسي محاسبه زاویه بین دو بردار هرکدام از بردارها: n بعدی ضرب داخلی )نقطهای( اندازه بردار زاویه بین دو بردار 15
معیار شباهت فاصله کسینوسي در فاصله هندسي زاویه بین دو بردار d1 و d2 بردار مربوط به متن اول کلمه سوم بردار مربوط به متن دوم کلمه دوم کلمه اول زاویه بین دو بردار 16
معیار شباهت فاصله مقدار بین صفر و یک کسینوسي اگر دو بردار )متن( یکسان باشد مقدار فاصله کسینوسی برابر است با 1 اگر دو بردار )متن( کامال متفاوت باشد مقدار فاصله کسینوسی برابر است با 0 مثال: فاصله بین دو بردار d1 و d2 بردار =d1 0) (1, 1, 0, 0, 0, 0, 0, بردار =d2 1) (1, 1, 0, 1, 0, 0, 0, cos θ = d 1. d 2 d 1 d 2 = 1 1 + 1 1 + 0 0 + 0 1 + 0 0 + 0 0 + 0 0 + 0 1 1 2 + 1 2 1 2 + 1 2 + 1 2 + 1 2 = 2 8 = 0.71 17
معیار شباهت فاصله کسینوسي- مثال 18
بردار فراواني عبارت... )TF: Term-Frequency( منظور از Frequency در پردازش متن»تعداد«است. برای هر کلمه تعداد وقوع آن کلمه در متن به عنوان ویژگی استفاده میشود تعداد تکرار کلمه j در مستند w ij = i 19
بردار فراواني عبارت Term-Frequency( )TF:... فاصله بین دو متن d1 و d2 )با فاصله کسینوسی( بردار =d1 0) (2, 1, 0, 0, 0, 0, 0, بردار =d2 1) (1, 1, 0, 4 0, 0, 0, مثال: cos θ = d 1. d 2 d 1 d 2 = 2 1 + 1 1 + 0 0 + 0 4 + 0 0 + 0 0 + 0 0 + 0 1 2 2 + 1 2 1 2 + 1 2 + 4 2 + 1 2 = 3 5 19 = 0.31 فاصله همه مستندات با همدیگر نتایج متفاوت با بردار دودویی 20
عبارت فراواني بردار )TF: Term-Frequency( طوالنی متن سمت به بردار دیگری( به )نسبت متن یک بودن طوالنی صورت در مشکل: میشود. بایاس کلمه هر تعداد کردن نرمال حل: راه )Monogram( احتمال بردار = متن یک در کلمات کل تعداد به i دنتسم تاملک لک دادعت =N تکرار تعداد i مستند در j کلمه TF i,j = n i,j k=1 N n i,k کلمات تعداد بیشینه به همه تکرار جمع i مستند در ها کلمه TF i,j = n i,j max (n i,k) k TF i,j = log(1+n i,j ) لگاریتم مقیاس در نرمالسازی TF i,j = 0.5 + 0.5 n i,j max (n i,k) k 0.5 21
معکوس فراواني سند Frequency( )IDF: Inverse Document... اگر یک کلمه در تعداد کمی از سندها حضور داشته باشد تفکیک بیشتری بین سندها ایجاد میکند )در مقایسه با کلماتی که در همه سندها وجود دارند(. برای کلمه j ما )tj( = نسبت تعداد کل مستندات بر تعداد مستنداتی که حاوی tj است کلمه N IDF j = log( {i: t j d i } ) تعداد سندهایی که حاوی کلمه تعداد کل سندها هستند tj بیانگر کمیاب بودن یک کلمه در مجموعه سندهاست. اگر یک کلمه در همه سندها حضور داشته باشد مقدار IDF آن صفر است 22
معکوس فراواني سند Frequency( )IDF: Inverse Document... یک پیکره با 1.000.000 سند داریم مثال بنابراین IDF sunday = log 10 1.000.000 1000 = 3 23
معکوس فراواني سند Frequency( )IDF: Inverse Document اگر کلمه jام در هیچ سندی موجود نباشد مخرج صفر میشود رفع مشکل با اضافه کردن عدد 1 به مخرج IDF j = log( N i: t j d i + 1 ) IDF j = log( N i: t j d i نرمالسازی هموار 1) + IDF j = log(1 + max (N k) k ) N j نرمالسازی بیشینه j بیانگر تعداد سندهای حاوی کلمه N j = i: t j d i که 24
... )TF-IDF: Term Freq-Inverse Document Freq( فراواني عبارت-معکوس فراواني سند برای هر کلمه تعداد وقوع آن کلمه در متن در معکوس فراوانی سند ضرب میشود برای کلمه j در مستند i TFIDF i,j = TF i,j IDF j = n i,j k=1 N n i,k log( N i: t j d i + 1 ) TFIDF i,j = TF i,j IDF j = 0.5 + 0.5 n i,j max (n i,k) log( k نوعی دیگر )نرمال شده( N i: t j d i + 1 ) از روشهای بسیار رایج در پردازش متن 25
)TF-IDF: Term Freq-Inverse Document Freq( فراواني عبارت-معکوس فراواني سند TFIDF i,j = TF i,j IDF j = n i,j k=1 N log( n i,k Term Doc1 Doc2 Doc3 Insurance 3 0 1 # all Terms 100 79 83 N i: t j d i ) 806,791 سند مثال مجموعه متن )انگلیسی( Reuters با کلمه Insurance در 3,997 سند تکرار شده است تعداد تکرار کلمه Insurance در چند نمونه سند TFIDF("Insurance", Doc1) هدف: محاسبه TF Insurance, Doc1 = 3 100 = 0.03 IDF Insurance, D = log e 806,791 3,997 = 5.31 TFIDF Insurance, Doc1 = 0.03 5.31 = 0.16 بدوننرمالسازي بدوننرمالسازي TF TF Insurance, Doc1 = 3 TFIDF Insurance, Doc1 = 3 5.31 = 16 26
w ij = (1 α i ) آنتروپي نرمال شده نوعی از TF با نرمالسازی بر اساس آنتروپی در نظر گرفتن اهمیت هر کلمه در سندها بیانگر اهمیت کلمه i ما در پیکره از نظر میزان رخداد در سندها تعداد کل همه کلمه ها در سند d j تعداد تکرار کلمه iام در سند d j آنتروپی نرمال شده کلمه iام در پیکره n i,j k=1 N n k,j N α i = 1 log(n) j=1 n i,j N i log n i,j N i تعداد کل کلمه i ما در پیکره عددی بین صفر و یک نزدیک = 1 رخداد کلمه در همه سندهای پیکره = کم اهمیت نزدیک = 0 رخداد در تعداد کمی از سندها= اهمیت زیاد 27
d 1 d 2 d 1 d 2 d 1. d 2 d 1 d 2 کسینوسي )Cosine( و )رشته( ضرب داخلی )نقطهای( اندازه اقلیدسی بردار d 2 d 1 برای دو بردار d 1 d 2 d 1 d 2 d 1 d 2 d 1 + d 2 d 1 d 2 d 1. d 2 d 1 + d 2 d 1. d 2 )Jaccard( جاکارد )Sørensen Dice( سورنسن-دايس 2 d 1 d 2 2 (d 1. d 2 ) d 1 + d 2 d 1 + d 2 d 1 d 2 min( d 1, d 2 ) d 1. d 2 min( d 1, d 2 ) )Overlap( همپوشاني 28
نیاز به استفاده از معیارهاي شباهت مختلف در کاربردهاي مختلف چون هنوز هیچکدام از معیارها در همه کاربردها بهینه نیستند استفاده از معیارهاي شباهت براي محاسبه شباهت بین دو رشته متنی یا دو بردار دو سند )سرقت علمی( یک سند و یک پرسش )سیستمهای بازیابی اطالعات پرسش و پاسخ( استفاده از مقدار شباهت بدست آمده براي صرفنظر کردن از برخی پاسخها )آنهایی که مقدار شباهتشان از مقدار آستانه کمتر است( رتبه دادن به سندهای پاسخ )بر اساس مقدار شباهت( Distance=1-Similarity محاسبه فاصله بر اساس مقدار شباهت: 29
در بازيابي اطالعات برای پرسش Q تشابه آن با همه مستندات محاسبه میشود پاسخ = مستنداتی که میزان شباهت آنها با پرسش از مقداری مشخص مانند 0.7 بیشتر باشد رتبهبندی پاسخها: بر اساس مقدار شباهت در تشخیص سرقت علمي محاسبه شباهت مستند مشکوک به سرقت با همه مستندات موجود پاسخ = مستنداتی که میزان شباهت آنها با مستند مشکوک از مقداری مشخص مانند 0.8 بیشتر باشد 30
مثال )در بازيابي اطالعات( و ویژگی TF شباهت کسینوسی رتبهبندی: d2, d1, d3 31
وابسته به کاربرد است برای استخراج کلمات کلیدی از متن: روش TF معیار خوبی است برای تشخیص عنوان )موضوع( متن: معیار TFIDF معیار مناسبی است برای تشخیص جنسیت نویسنده متن شمارش تعداد: رنگها کل کلمات یکتا کلمات یک/دو تکراره کلمات رکیک صفات مثبت/منفی ضمایر برای عقیده کاوی شمارش تعداد صفات مثبت/منفی در کاربردهای دیگر تعداد نویسهها تعداد اعداد تعداد عالئم سجاوندی میانگین طول کلمه )برحسب نویسه( طول جمله )برحسب کلمه( تعداد حروف ربط/اضافه تعداد اسم/صفت/فعل... 32
بودند بردار يک به سند يک تبديل براي شده بیان روشهاي بردار به کلمات تبديل شود تبدیل بردار یک به واژه هر است نیاز کاربردها برخی در قبلی( کلمات و کلمه )خود کلمات بردار از استفاده :POS Tagging در دودیی: بردار دودیی بردار یک به کلمه هر تبدیل است 2 N حالت این در موردنظر کلمات کل است: بعدی N بردار یک معادل کلمه هر )يدعب بيتکافيست)هرکلمهیکبردار 10 کلمه 10 برايکدکردن 1024 کلمه شماره کلمه کلمه بردار 1 آب 0 0 0 0 0 0 0 0 0 1 2 آبرو 0 0 0 0 0 0 0 0 1 0.. 1023 ویروس 1 1 1 1 1 1 1 1 1 1 معنی: حاوی بردارهای عصبی شبکه بر مبتنی روشهای دادهها روی از کلمات معنایی و نحوی ارتباط یادگیری 33
میزان خوب بودن پاسخ سیستم :Precision درصدی از پاسخهای بازگردانده شده توسط سیستم که مرتبط با پرسش کاربر است :Recall درصدی از سندهای مرتبط در پایگاه داده که توسط سیستم به عنوان پایخ بازگردانده شدهاند 34
ريشهيابي میتوان ریشه )Stem( مربوط به کلمات )Term( را استخراج کرد و شکلهای مختلف صرفی یک کلمه را با هم یکی درنظر گرفت. مزیت: سندهایی که شامل صورتهای مختلف صرفی یک کلمه هستند بازیابی می شوند. عیب: در نظر نگرفتن وجه تمایز صورتهای مختلف صرفی یک کلمه دقت بازیابی را پایین می آورد. ايست واژهها )stop word( از مجموعة کلمات حذف میشوند مزیت: ایست واژگان تعداد رخداد باال و بار معنایی کمی دارند و حذف آنها حجم محاسبات را کاهش می دهد و کارایی را بهبود میدهد. عیب: جستجوی پرسشهایی که شامل ایست واژگان هستند دقت پایین دارد. 35
در نظر نگرفتن وابستگي آماري کلمات در متن بررسی مستقل واژهها عدم توجه به معني و مفهوم مترادف :)Synonym( کلمات مجزایی که معانی یکسانی دارند فارسی: خودرو و اتومبیل انگلیسی: big و large باعث کاهش Recall میشود چندمعنایی :)Polysemy( کلماتی با یک صورت نوشتاری و معانی مجزا فارسی: شیر )حیوان خوراکی وسیله مکانیکی( یا روان )جاری روح( انگلیسی: Bank )موسسه مالی ساحل( یا Book )کتاب رزرو کردن( باعث کاهش Precision میشود 36
محاسبات باال در کاربردهای واقعی پیکرهها بزرگ هستند یک میلیارد کلمه یکميليونمستندهرکدامحدود 1000 کلمه تعداد واژههای یکتا = 500 هزار کلمه ماتریس وقوع )Term-Document( ماتریسي 500/000 در 1/000/000 ماتریسبهشدتتنکاست)بيشترعناصرصفرهستند( 37
تحلیل معنايي پنهان... )LSA: Latent Semantic Analysis( یکی از روشهای جبری-آماری در تبدیل سندها/کلمات به بردار ویژگی سعی در یافتن معنی پنهان کلمات در سندها در یک سند کلمات قابل مشاهده هستند ولی عنوان آن پنهان )Latent( است فرضیات کلماتی که بهطور همزمان در یک سند )با موضوع مشخص( میآیند از نظر معنایی به هم مرتبط هستند سندهایی که دارای موضوع مشابهی هستند حاوی کلمات مشابهی هستند یک روش کاهش ابعاد بردارهای و یژگی متون و کلمات را به یک فضای معنایی مشترک تصویر میکند مبتنی بر تجزیه مقادیر تکین )SVD( استفاده از ایده روش تحلیل اجزای اصلی )PCA( اسم دیگر (LSI) Latent Semantic Indexing 38
... )LSA: Latent Semantic Analysis( پنهان معنايي تحلیل داریم: متنی پیکره در کنید فرض W={w 1,w 2,,w M } کلمه M تعداد D={d 1,d 2,.,d N } سند N تعداد X( )ماتریس سندها در کلمات رخداد ماتریس ساخت 1: گام x ij یا TFIDF عنصر که است M N ماتریسی عناصرماتریسميتوانند TF کلمه وزندار شمارش بیانگر آن از یاویژگيهايمشابهباشند iا م سند در jا م است (d j ) (w i ) سندهاست همه در کلمه یک بردار بیانگر X ماتریس ردیف هر است سند یک بردار بیانگر ستون هر 39
... )LSA: Latent Semantic Analysis( پنهان معنايي تحلیل :2 گام... SVD با X تنک ماتریس تجزیه است سندها در کلمات شده( )نرمال فراوانی حاوی که است»کلمه-سند«M N ماتریس = X است»کلمه-کلمه«M M ماتریس B=XX T بيانگر TFباشند( )اگرمحتواي X سندمشترکآمدهباشند آنگاه B(i,j)=b باهمدر b وکلمه j اگرکلمه i است»سند-سند«N N ماتریس C=X T X بيانگر TFباشند( )اگرمحتواي X کلمهمشترکباشند آنگاه C(i,j)=c داراي c وسند j اگرسند i هستند متفارن و مربعی C و B ماتریسهای SVD روش با را X ماتریس میتوان کرد تجزیه زیر صورت به U تسا =ماتریسياستکهحاوي»بردارهايویژه«ماتریس B X = UΣV T تسا =ماتریسياستکهحاوي»بردارهايویژه«ماتریس C V تسا )C و( =ماتریسيقطرياستکهعناصرقطراصليآنجذر»مقادیرویژه«ماتریس B Σ است( صفر ویژه مقدار M-N )تعداد برابرند هم با C و B های ماتریس ویژه مقادیر 40
تحلیل معنايي پنهان Analysis( )LSA: Latent Semantic... گام :2 تجزیه ماتریس تنک X با SVD X = UΣV T مقادیر ویژه ماتریس Σ بیانگر اهمیت هر کدام از بردارهای ویژه است گام 3: کاهش بعد تعداد محدودی از مقادیر ویژه اعداد بزرگ و مابقی اعداد کوچک )نزدیک صفر( هستند از میان مقادیر ویژه فقط k مقدار بزرگتر و بردارهای ویژه معادل را حفظ میکنیم مرتب کردن بر اساس بزرگی مقدار ویژه X M N U M k Σ k k V k N t A k = U k Σ k V k t کاهش بعد به k بعد )k خیلی کوچک تر از M و N( تعداد k معادلتعداد»مفاهيمپنهان«موجوددرکلماتوسندهاست 41
... )LSA: Latent Semantic Analysis( پنهان معنايي تحلیل :4 گام کلمه بردار یا سند بردار محاسبه U M k Σ k k ماتریس ردیفهای کلمه: هر بردار بعدياست هربردار k هب يیانعم کلماتيکهبردارهايآنهادرزیرفضايکاهشبعدیافتهبههمنزدیکميباشندهمانکلماتيهستندکهازنظر هممرتبطهستند t Σ k k V k N ماتریس ستونهای سند: هر بردارهای بعدياست هربردار k سندهایيبابردارمشابهدارايموضوعمشابههستند دستهبندی مانند مختلف کاربردهای در میتوان سندها( یا کلمات )برای آمده بدست بردارها از کرد استفاده متون و کلمات 42
تحلیل معنايي پنهان Analysis( )LSA: Latent Semantic... )خارج از مجموعه آموزش X( M N محاسبه بردار سند برای اسناد جدید d new = سند جدید گام :1 محاسبه شمارش وزندار کلمه iا م ) i (w در سند ) new (d با همان واژگان } M W={w 1,w 2,,w بردارحاصل یکبردارستوني M بعدياست استفادهازهمانروشيکهماتریس X M N براساسآنساختهشدهاست) TF TFIDF یاآنتروپينرمالشده( d new = Σ k 1 V k t d new گام :2 سند تبدیل شده برابر است با معکوسماتریسقطري Σ k بامعکوسکردنعناصررويقطراصليقابلمحاسبهاست دربازیابياطالعات باآمدنپرسش q بایداینتبدیلبررويپرسش)بهعنوانیکسندجدید(اعمالشود 43
... تحلیل معنايي پنهان :)LSA( مثال 5 سند و 8 کلمه مقادیر ماتریس کلمه-سند بیانگر TF هستند گام 1: ماتریس کلمه-سند X گام :2 تجزیه X = UΣV T 44
تحلیل معنايي پنهان :)LSA( کاهش بعد مثال... A k = U k Σ k V k t از 5 مقدار ویژه 2 مقدار بزرگتر را نگه میداریم یعنی 2=k گام :3 U 2 V 2 t گام 4: محاسبه بردار سند یا بردار کلمه بردار هر کلمه: ردیفهای ماتریس U M k Σ k k t بردارهای هر سند: ستونهای ماتریس Σ k k V k N 45
تحلیل معنايي پنهان :)LSA( گام :4 مثال... محاسبه بردار سند یا بردار کلمه U M k Σ k k بردار هر کلمه: ردیفهای ماتریس t Σ k k V k N بردارهای هر سند: ستونهای ماتریس 46
»die, dagger«پنهان معنايي تحلیل :)LSA( )استفاده(: گام پرسش بردار محاسبه مثال پرسش شباهت محاسبه اسناد به سندها همه با کسینوسی شباهت محاسبه محاسبهبينهمهبردارسندهابابردارپرسش است به q d 5 نزدیکتراز d 1 سند شدهاند کشته dagger با Juliet و Romeo تسا به q d 2 مقدارکمينزدیکتراز d 1 سند و Romeo مرتبط کلمات حاوی d 1 سند حاوی d 2 هرچند است همدیگر با Juliet شبیه )پاسخ است پرسش کلمات از یکی است( انسان احتمالی پاسخ 47
ساير روشها تحلیل معنایی پنهان احتماالتی )PLSA: Probabilistic LSA( نسخه بهبود یافته PLSA مرتبط کردن متغیرهای پنهان )عنوان( با متغیرهای قابلمشاهده )سندها و کلمات( مبتنی بر شبکه عصبی قابل استفاده هم برای استخراج بردار سند و هم برای بردار کلمه f 1 f 2 f 3 f 4 الیه bottleneck ویژگیهای فشرده شده 48